SPB Git

Repository Public

route.ts 1.2 KB 16 lines typescript

1// Vrai-Prix — téléchargement du JSON technique complet d'une analyse (profil, métadonnées, géométrie dérivée, images utilisées).2import { NextRequest, NextResponse } from "next/server";3import { getById, getLatest } from "@/lib/cost/ai/service";45export const runtime = "nodejs";67export async function GET(req: NextRequest, { params }: { params: Promise<{ uid: string }> }) {8  const { uid } = await params;9  const id = req.nextUrl.searchParams.get("id");10  const v = id ? getById(id) : getLatest(decodeURIComponent(uid));11  if (!v || v.listingUid !== decodeURIComponent(uid) || !v.analysis) return NextResponse.json({ error: "aucune analyse complète" }, { status: 404 });12  const body = JSON.stringify({ ...v.analysis, merged_facts: v.merged, mapping: v.mapping, conflicts: v.conflicts, overrides: v.overrides, cost_snapshot_date: v.costSnapshotDate, estimate_id: v.estimate?.id ?? null, combined_confidence: v.combined }, null, 2);13  const slug = decodeURIComponent(uid).replace(/[^a-zA-Z0-9]+/g, "-");14  return new NextResponse(body, { headers: { "Content-Type": "application/json; charset=utf-8", "Content-Disposition": `attachment; filename="vrai-prix-analyse-ia-${slug}-v${v.version}.json"`, "Cache-Control": "no-store" } });15}16
Files main
Menu

Theme